package com.gitee.qdbp.general.common.api.message.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;

/**
 * 系统消息更新类
 *
 * @author zhh
 * @version 170802
 */
@OperateTraces(target = "where")
@DataIsolation(enable = false)
public class SystemMessageUpdate extends SystemMessageBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 消息类型(0.通知)是否更新为空值 **/
    private Boolean typeToNull;

    /** 群组ID(两人对话时以双方的ID字符连接作为群组ID)是否更新为空值 **/
    private Boolean groupIdToNull;

    /** 发送人ID是否更新为空值 **/
    private Boolean senderIdToNull;
    /** 发送人ID的增加值 **/
    private Integer senderIdAdd;

    /** 发送时间是否更新为空值 **/
    private Boolean sendTimeToNull;
    /** 发送时间是否更新为数据库当前时间 **/
    private Boolean sendTimeToCurrent;
    /** 发送时间的增加值(单位:秒) **/
    private Long sendTimeAdd;

    /** 接收人ID是否更新为空值 **/
    private Boolean receiverIdToNull;
    /** 接收人ID的增加值 **/
    private Integer receiverIdAdd;

    /** 标题是否更新为空值 **/
    private Boolean titleToNull;

    /** 内容是否更新为空值 **/
    private Boolean contentToNull;

    /** 读取时间是否更新为空值 **/
    private Boolean readTimeToNull;
    /** 读取时间是否更新为数据库当前时间 **/
    private Boolean readTimeToCurrent;
    /** 读取时间的增加值(单位:秒) **/
    private Long readTimeAdd;

    /** 状态(0.未读|1.已读)是否更新为空值 **/
    private Boolean readStateToNull;

    /** 选项是否更新为空值 **/
    private Boolean optionsToNull;

    /** 更新操作的条件 **/
    private SystemMessageWhere where;

    /** 判断消息类型(0.通知)是否更新为空值 **/
    public Boolean isTypeToNull() {
        return typeToNull;
    }

    /**
     * 设置消息类型(0.通知)是否更新为空值
     *
     * @param typeToNull 消息类型(0.通知)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTypeToNull(Boolean typeToNull) {
        this.typeToNull = typeToNull;
    }

    /** 判断群组ID(两人对话时以双方的ID字符连接作为群组ID)是否更新为空值 **/
    public Boolean isGroupIdToNull() {
        return groupIdToNull;
    }

    /**
     * 设置群组ID(两人对话时以双方的ID字符连接作为群组ID)是否更新为空值
     *
     * @param groupIdToNull 群组ID(两人对话时以双方的ID字符连接作为群组ID)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setGroupIdToNull(Boolean groupIdToNull) {
        this.groupIdToNull = groupIdToNull;
    }

    /** 判断发送人ID是否更新为空值 **/
    public Boolean isSenderIdToNull() {
        return senderIdToNull;
    }

    /** 设置发送人ID是否更新为空值 **/
    public void setSenderIdToNull(Boolean senderIdToNull) {
        this.senderIdToNull = senderIdToNull;
    }

    /** 获取发送人ID的增加值 **/
    public Integer getSenderIdAdd() {
        return senderIdAdd;
    }

    /** 设置发送人ID的增加值 **/
    public void setSenderIdAdd(Integer senderIdAdd) {
        this.senderIdAdd = senderIdAdd;
    }

    /** 判断发送时间是否更新为空值 **/
    public Boolean isSendTimeToNull() {
        return sendTimeToNull;
    }

    /**
     * 设置发送时间是否更新为空值
     *
     * @param sendTimeToNull 发送时间是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setSendTimeToNull(Boolean sendTimeToNull) {
        this.sendTimeToNull = sendTimeToNull;
    }

    /** 判断发送时间是否更新为数据库当前时间 **/
    public Boolean isSendTimeToCurrent() {
        return sendTimeToCurrent;
    }

    /** 设置发送时间是否更新为数据库当前时间 **/
    public void setSendTimeToCurrent(Boolean sendTimeToCurrent) {
        this.sendTimeToCurrent = sendTimeToCurrent;
    }

    /** 获取发送时间的增加值(单位:秒) **/
    public Long getSendTimeAdd() {
        return sendTimeAdd;
    }

    /** 设置发送时间的增加值(单位:秒) **/
    public void setSendTimeAdd(Long sendTimeAdd) {
        this.sendTimeAdd = sendTimeAdd;
    }

    /** 判断接收人ID是否更新为空值 **/
    public Boolean isReceiverIdToNull() {
        return receiverIdToNull;
    }

    /**
     * 设置接收人ID是否更新为空值
     *
     * @param receiverIdToNull 接收人ID是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setReceiverIdToNull(Boolean receiverIdToNull) {
        this.receiverIdToNull = receiverIdToNull;
    }

    /** 获取接收人ID的增加值 **/
    public Integer getReceiverIdAdd() {
        return receiverIdAdd;
    }

    /** 设置接收人ID的增加值 **/
    public void setReceiverIdAdd(Integer receiverIdAdd) {
        this.receiverIdAdd = receiverIdAdd;
    }

    /** 判断标题是否更新为空值 **/
    public Boolean isTitleToNull() {
        return titleToNull;
    }

    /**
     * 设置标题是否更新为空值
     *
     * @param titleToNull 标题是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setTitleToNull(Boolean titleToNull) {
        this.titleToNull = titleToNull;
    }

    /** 判断内容是否更新为空值 **/
    public Boolean isContentToNull() {
        return contentToNull;
    }

    /** 设置内容是否更新为空值 **/
    public void setContentToNull(Boolean contentToNull) {
        this.contentToNull = contentToNull;
    }

    /** 判断读取时间是否更新为空值 **/
    public Boolean isReadTimeToNull() {
        return readTimeToNull;
    }

    /** 设置读取时间是否更新为空值 **/
    public void setReadTimeToNull(Boolean readTimeToNull) {
        this.readTimeToNull = readTimeToNull;
    }

    /** 判断读取时间是否更新为数据库当前时间 **/
    public Boolean isReadTimeToCurrent() {
        return readTimeToCurrent;
    }

    /** 设置读取时间是否更新为数据库当前时间 **/
    public void setReadTimeToCurrent(Boolean readTimeToCurrent) {
        this.readTimeToCurrent = readTimeToCurrent;
    }

    /** 获取读取时间的增加值(单位:秒) **/
    public Long getReadTimeAdd() {
        return readTimeAdd;
    }

    /** 设置读取时间的增加值(单位:秒) **/
    public void setReadTimeAdd(Long readTimeAdd) {
        this.readTimeAdd = readTimeAdd;
    }

    /** 判断状态(0.未读|1.已读)是否更新为空值 **/
    public Boolean isReadStateToNull() {
        return readStateToNull;
    }

    /**
     * 设置状态(0.未读|1.已读)是否更新为空值
     *
     * @param readStateToNull 状态(0.未读|1.已读)是否更新为空值
     * @deprecated 该字段为非空字段
     */
    @Deprecated
    public void setReadStateToNull(Boolean readStateToNull) {
        this.readStateToNull = readStateToNull;
    }

    /** 判断选项是否更新为空值 **/
    public Boolean isOptionsToNull() {
        return optionsToNull;
    }

    /** 设置选项是否更新为空值 **/
    public void setOptionsToNull(Boolean optionsToNull) {
        this.optionsToNull = optionsToNull;
    }

    /** 获取更新操作的条件 **/
    public SystemMessageWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public SystemMessageWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new SystemMessageWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(SystemMessageWhere where) {
        this.where = where;
    }
}